#include <iostream>
#include <fcntl.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <unistd.h>
#include "Time.hpp"
int main() {
    // 打开文件
    int fd = open("test.txt", O_WRONLY|O_APPEND);
    if (fd == -1) {
        perror("open");
        return 1;
    }

    // 获取文件大小
    struct stat sb;
    if (fstat(fd, &sb) == -1) {
        perror("fstat");
        close(fd);
        return 1;
    }
    off_t file_size = sb.st_size;

    // 进行 mmap 映射
    char* addr = static_cast<char*>(mmap(0, 4096, PROT_WRITE, MAP_PRIVATE, fd, 0));
    if (addr == MAP_FAILED) {
        perror("mmap");
        close(fd);
        return 1;
    }

    // 写入文件内容
    int n=5;
    while(n--)
    {
        strcpy(addr,GetCurrTime().c_str());
        sleep(3);
    }

    // 解除映射
    if (munmap(addr, file_size) == -1) {
        perror("munmap");
    }

    // 关闭文件描述符
    close(fd);

    return 0;
} 
